package main

import "fmt"

// "fmt"


func main() {
    // =     简单的赋值操作符，分配值从右边的操作数左侧的操作数                  C = A + B 将分配A + B的值到C
    // +=    相加并赋值运算符，它增加了右操作数左操作数和分配结果左操作数         C += A 相当于 C = C + A
    // -=    减和赋值运算符，它减去右操作数从左侧的操作数和分配结果左操作数       C -= A 相当于 C = C - A
    // *=    乘法和赋值运算符，它乘以右边的操作数与左操作数和分配结果左操作数     C *= A 相当于 C = C * A
    // /=    除法赋值运算符，它把左操作数与右操作数和分配结果左操作数             C /= A 相当于 C = C / A
    // %=    模量和赋值运算符，它需要使用两个操作数的模量和分配结果左操作数       C %= A 相当于 C = C % A
    // <<=   左移位并赋值运算符                                                C <<= 2 相同于 C = C << 2
    c:=2 //0000 0010
    d:= c<<2 //0000 1000
    fmt.Printf("%b\n",c)
    fmt.Printf("%b\n",d) 
    
    // >>=   向右移位并赋值运算符                                               C >>= 2 相同于 C = C >> 2
    // &=    按位与赋值运算符                                                   C &= 2 相同于 C = C & 2
    // ^=    按位异或并赋值运算符                                               C ^= 2 相同于 C = C ^ 2
    // |=    按位或并赋值运算符                                                 C |= 2 相同于 C = C | 2
}